1. Field of Invention
The present invention relates to a data transmission apparatus for controlling contention between a plurality of data transmissions when the data transmissions are performed on a shared sending medium in a computer network, and a method therefor.
2. Description of Related Art
A computer network comprises a sending medium and a plurality of terminals electrically connected to the sending medium. The transfer of data between the respective terminals is performed through the sending medium. Transmission capability of the sending medium is expressed in the form of the amount of transmit data per unit time. This will be referred to as "transmission bandwidth unit: bit/sec!". A plurality of data transmissions shares the use of the same sending medium by using the transmission bandwidth in divided form. The transmission bandwidth is a finite shared resource.
A bandwidth or bit rate to be used for the transmission of data changes momentarily according to the demand of each application. When the sum of bit rate used for respective data transmissions at arbitrary times is greater than the transmission bandwidth of the sending medium, the shortage of the transmission bandwidth is produced. Thus, this cannot satisfy all the data transmissions and hence a struggle for the transmission bandwidth occurs between the respective data transmissions. This will be called "contention between the transmission bandwidth" When the contention takes place, data incapable of acquiring a necessary bandwidth are dropped or lost without transmission.
When the data has dropped, the corresponding data is normally transmitted again for its recovery. This will be referred to as "redelivery or retransmission". Namely, since the term "retransmission" means that the same data is transmitted plural times to make a success of the data transmission, an increase in transmission delay time and a reduction in the efficiency =the amount of transmitted effective or valid data/(bandwidth necessary for the transmission of the valid data.times.time required to transmit the data)! of utilization of the transmission bandwidth occur. Accordingly, a contrivance to avoid the contention beforehand is necessary. This will be called "contention control".
If attention is given to file transfer, print service, etc. of various applications for performing data transmissions, then the following features are brought about:(1) Data to be transmitted exists at a sending terminal or end before the commencement of the data transmission and the amount of its data is already known.(2) Data transmission control information such as the amount of data is generally exchanged between sending and receiving terminals before the commencement of the data transmission.(3) Since data to be transmitted already exists within a sending terminal, a transmission bandwidth to be used can be controlled.(4) The allowable range of a transmission delay is relatively large.(5) In client/server type applications such as a file service/print service, etc., all the data transmissions are concentrated on a server.
Therefore, the present applicant has proposed a contention control method which has focused attention on the above-described features (see Japanese Patent Application No. Hei 8-17989) According to the present proposal, for, example, the sequence of data transmissions and bandwidth used for the data transmissions are unitarily controlled based on control information about the data transmissions concentrated on a server beforehand to thereby avoid contention between the data transmissions.
A contention control operation of the data transmission apparatus described in Japanese Patent Application referred to above will be described by one example comprising a data sender, a data receiver and a sending medium In the present example, the data receiver controls the sequence of the data transmissions, the bandwidth used for the data transmissions and the like on a unitary basis. FIG. 1 shows the configuration of the present example. FIG. 2 is a diagram for describing the operation of the present example.
(1) Data receiver 2: PA1 (2) Data sender 1: PA1 1) A system for sequentially feeding back the success or failure of a data transmission (see FIG. 3) PA1 2) A retransmission or redelivery requesting system (see FIG. 4) PA1 The time required to generate a response or retransmission request indicative of the success or failure of data transfer at the receiving end. PA1 The time required to transmit the response or retransmission request indicative of the success or failure of the data transfer from the receiving end to the sending end (transmission delay time). PA1 A timeout interval for avoiding the deadlock when no data drop is detected. PA1 means for monitoring a form of the transmission of the data from the data sender to the data receiver; PA1 means for controlling the transmission of the data transmission commands, based on the result of monitoring by the monitoring means; and PA1 means for detecting a transmission error in the data transmission commands and an duplicate thereof to thereby control the reception of the data transmission commands. PA1 a step for continuously sending data transmission commands from the data receiver to the data sender prior to the transfer of the data from the data sender to the data receiver; PA1 a step for starting the transmission of the data from the data sender without duplicating, based on the continuously-transmitted data transmission commands; PA1 a step for monitoring a form of the transmission of the data from the data sender to the data receiver; and PA1 a step for terminating the transmission of the data transmission commands, based on the result of the above monitoring.
The data receiver 2 comprises data transmission control information acquiring means 7, data transmission control means 8, data transmission command sending means 9, data receiving means 10, etc. The data transmission control information acquiring means 7 obtains necessary information from control information exchanged between the data sender and the data receiver before, between and after all the data transmissions. Before the data transmissions, for example, the data transmission control information acquiring means 7 acquires an identifier for a corresponding data sender 1, the amount of data to be transmitted, etc. The data transmission control means 8 determines the time at which a data transmission having the contents described in data transmission control information acquired by the data transmission control information acquiring means 7 is made possible, and an available transmission bandwidth, based on the data transmission control information and the use situation with regard to a bandwidth according to a data transmission being in execution. The data transmission command sending means 9 transmits data transmission commands including the contents determined by the data transmission control means 8 to the data sender 1. Further, the data receiving means 10 receives therein framed data transmitted from the corresponding data sender 1.
The data sender 1 comprises data transmission command receiving means 4, data transmission control means 5, data sending means 6, etc. The data transmission command receiving means 4 receives therein data transmission commands sent from the data transmission command sending means 9 of the data receiver 2. The data transmission control means 5 controls the start/end of the transmission of data by the data sending means 6, the bit rate for its data transmission, etc. in accordance with the data transmission commands received by the data transmission command receiving means 4. Further, the data sending means 6 transmits data to the data receiver 2 under the control of the data transmission control means 5.
On the other hand, when the data is transmitted over the sending medium, there is a possibility that a signal error will take place due to noise or the like, or data will drop due to a signal error, buffer overflow in a repeater and the like. This will be called "transmission error". There may be cases in which the transmission error is detectable and undetectable. When the transmission error is detected, data subjected to the transmission error is recovered. This will be called "error correction". As an error correcting system, there are known an FEC (Forward Error Correction) system and a reforward or retransmission system. However, the RETRANSMISSION system can effect a 100% correction on the transmission error in principle. Since a transmission error in transmitted data can be detected only at a receiving terminal or end, whereas the corresponding data can be retransmitted only from a sending terminal or end at which it holds the data, feedback for confirming the delivery of the data from the receiving end to the sending end is essential to the retransmission system.
A handshake procedure for confirming the delivery of data by the conventional retransmission control system includes two systems shown below.
At this time, the following overhead times will be produced.
When no transmission error is detected, there is a danger that an event that the receiving side will cause a malfunction and an event, a so-called "deadlock" that the sending side continues to eternally wait for a response issued from the receiving side or vice verse, will occur. Thus, when one of the sending end and the receiving end does not receive a response to be expected from the other thereof within a predetermined time, either one of them performs the retransmission or redelivery of data to the other or discontinues the transfer of data to the other to thereby notify it to an application, whereby the deadlock is avoided. Such a timeout process is shown in FIG. 5. At this time, the following overhead time is produced.
Since the transmission bandwidth of the sending medium, the transmission delay time, the processing times in the repeater and the sender and receiver, etc. are not yet known at the instant of the timeout, the timeout interval is generally set to a time interval sufficiently longer than the time necessary for the normal transmission of data.
Referring back to the example shown in FIG. 1, when the transmission error is produced in the data transmission commands sent from the data transmission command sending means 9 upon transmission of the data transmission commands thereof, it is erroneously received or not received at all by the data transmission command receiving means 5. Accordingly, the data sender 1 does not comply with the unitary decision made by the data transmission control means 8, thus resulting in the failure of control on contention between the data transmissions. In this case, there is a danger that an event that the transmission of data is not started eternally due to the occurrence of the deadlock, will occur as well as no hope in the improvement in the efficiency of utilization of a bandwidth. Therefore, there is a demand for applying reliability against the transmission error to the data transmission commands so as to avoid the failure of the contention control.
However, when one attempts to correct the transmission error by the conventional retransmission system to avoid it, a non-used bandwidth at which no data transmission is actually done, is produced within the above overhead time even though the bandwidth used for the transfer of data from the sender to the receiver has been ensured. A penalty against the occurrence of the transmission error is large, so that a reduction in the efficiency of utilization of the bandwidth is caused.